package com.hsurosy.types.design.framework.tree;

/**
 * @Author Hsu琛君珩
 * @Date 2025-08-11 3:42
 * @Description 策略处理器
 * @Version: v1.0.0
 */
public interface StrategyHandler<T, D, R> {

    // 默认的策略处理器，返回null
    StrategyHandler DEFAULT = (T, D) -> null;

    /**
     * 执行具体的策略方法
     * @param requestParameter 请求参数
     * @param dynamicContext 动态上下文
     * @return 策略执行后的结果
     * @throws Exception 执行策略时可能抛出的异常
     */
    R apply(T requestParameter, D dynamicContext) throws Exception;

}
